Amazon GameLift 入門 #4 ゲームセッションの作成と接続
ゲームをプレイしてみよう
Amazon GameLift (以下 GameLift) はマルチプレイヤー向けのゲームのサーバーアプリケーションのデプロイや運用、監視などを行うことができるマネージドサービスです。ゲームのために最適化されたサーバーを簡単に構築することができます。
概要は下記をご参照ください。
- ゲーム開発のためのサービス Amazon Lumberyard & Amazon GameLift が公開! | Developers.IO
- ゲーム開発者向けサービス「Amazon GameLift」の基礎知識 | Developers.IO
以下で公開されている「Amazon GameLift Getting Started」に沿って、サンプルプロジェクトを動かすことができます。
前回はサーバーのデプロイにあたるフリートの作成を行いました。今回はこのフリートを使って、ゲームセッションを作り実際にゲームで遊んでみます。
ゲームクライアントのビルド
これまでサーバーアプリケーションを取り扱ってきましたが、サーバーの構築は済みましたので、次にこのサーバーにアクセスするゲームクライアントとなるアプリケーションをビルドします。
と言っても、サンプルのアプリはコマンド一発でビルドできるように作られているので、かなり簡単です。PCのスペックによっては少し時間がかかることがあります。
$ cd C:¥Lumberyard¥dev $ lmbr_waf.exe configure build_win_x64_profile -p game_and_engine --progress
configure
コマンドを使うと LumberyardLauncher によるビルドをバッチモードで処理することができます。
dev\Bin64
フォルダの中に MultiplayerProjectLauncher.exe
が生成されていればビルド完了です。
ゲームクライアントの設定
次に、ゲームクライアントの各種設定を行います。ゲームクライアントには、接続先のフリートのIDの設定がもちろん必要ですが、AWS の認証情報も付与する必要があります。
次のようなものが必要です。
gamelift_aws_access_key
: AWS のアクセスキーgamelift_aws_secret_key
: AWS のシークレットキーgamelift_aws_region
: AWS のリージョンgamelift_endpoint
: AWS のエンドポイントgamelift_fleet_id
: 接続先のフリートのIDgamelift_player_id
: プレイヤーのID (なくてもOK)sv_port
: ポートmap
: 読み込むレベル
gamelift_aws_region
及び gamelift_endpoint
はバージニア (us-east-1) を使う場合は必須です。デフォルトがオレゴン (us-west-2) なので、オレゴンを使う場合は必要ないと思います。
ゲームクライアントはコマンドから起動できるのですが、このコマンドのオプションに上記の設定を追加します。
dev\Bin64
フォルダの中に GameLiftClient.bat
ファイルを新しく作り、中身を以下のようにします。
MultiplayerProjectLauncher.exe +sv_port 33435 +gamelift_fleet_id <YOUR_FLEET_ID> +gamelift_aws_access_key <YOUR_ACCESS_KEY> +gamelift_aws_secret_key <YOUR_SECRET_KEY> +gamelift_endpoint=gamelift.us-east-1.amazonaws.com +gamelift_aws_region us-east-1 +map gameliftlobby
これで実行すると、下記のような画面が表示されます。ゲームロビーです。
ゲームで遊ぶ
ゲームロビー画面では、サーバーの作成と接続が行えます。ということで、早速サーバーを作ってみましょう。下部の「Create Server」をクリックします。
リストに新しいサーバーが表示されました!自動で表示されない場合は「Refresh」を押すと表示されるかも知れません。サーバーを選択した状態で「Connect」をクリックします。
ゲームが始まりました。サンプルでは、サッカーみたいなゲームをマルチプレイヤーで遊ぶことができます。
客席から飛び降りることができます。乱入みたいな気分ですね。ボールを蹴って、適当にどっちかのゴールに入れて点数を競ったりします。
UE4が大好きなこむろと遊んでみました。なんかグダグダw
まとめ
サンプルを通して、GameLift でどのようなことができるのかお分りいただけたかと思います。実際にはノードでいっぱいごにょごにょやっているのだと思います。この辺についてはまた別の機会で!